Systems and methods for filtering data in a medical imaging system

ABSTRACT

A method for filtering a measurement of density of an object is described. The method includes filtering the measurement of the density and preserving a local average of the measurement and additional measurements when performing the filtering.

BACKGROUND OF THE INVENTION

This invention relates generally to medical imaging systems and methods and more particularly to system and methods for filtering a measurement of density of an object.

Typically, in computed tomography (CT) imaging systems, a gantry includes an X-ray source that emits a fan-shaped beam toward an object, such as a patient. The beam, after being attenuated by the patient, impinges upon an array of radiation detectors. The intensity of the attenuated beam radiation received at the detector array is typically dependent upon the attenuation of the X-ray beam by the patient. Each detector element of the detector array produces a separate electrical signal indicative of the attenuated beam received by each detector element. The electrical signals are transmitted to a data processing unit for analysis which ultimately results in a formation of an image.

Generally, the X-ray source and the detector array are rotated with a gantry within an imaging plane and around the patient. X-ray sources typically include X-ray tubes, which conduct a tube current and emit the X-ray beam at a focal point. X-ray detectors typically include a collimator for collimating X-ray beams received at the detectors, a scintillator for converting X-rays to light energy adjacent the collimator, and photodiodes for receiving the light energy from the adjacent scintillator. The photodiodes convert the light energy into electrical energy that represents projection data. A projection datum at a projection angle θ and a projection displacement t is represented as p(θ,t). A data acquisition system (DAS) receives the projection data from the detectors. One of the CT imaging systems is used to reconstruct a cross-section of the patient object by measuring the projections through the patient.

It is generally difficult to measure the projection datum p(θ,t) directly. Instead, the projection data is obtained by counting a number of photons impinging on the detectors. A measurement λ(θ,t) at the projection angle θ and the projection displacement t is proportional to a number of the photons. The measurement λ(θ,t) is corrupted by various kinds of noises, such as, a photon counting noise often modeled by a Poisson distribution or an additive noise often modeled by a Gaussian distribution. The additive noise is generated from dark current in the DAS, interference noise in cables of the CT imaging systems, and other sources. If an image is reconstructed by applying the measurement λ(θ,t) with the noises, shading artifacts are visible in the image.

Usually an expected value of λ(θ,t) is related to the projection datum by an equation λ(θ,t)=E[λ(θ,t)]=exp(−p(θ,t))λ_(T)  (A)

where E denotes an expectation, λ(θ,t) denotes the expected value of λ(θ,t), and λ_(T) denotes a number of photons that are impinging on the patient from the x-ray source. In practice, a value of λ_(T) may vary with the projection datum p(θ,t). Alternatively, in theory, λ_(T) may be presumed to be a constant. The projection datum p(θ,t) may be computed from the expected value of λ(θ,t) by using an equation $\begin{matrix} {{p\left( {\theta,t} \right)} = {- {\log\left( \frac{\overset{\_}{\lambda}\left( {\theta,t} \right)}{\lambda_{r}} \right)}}} & (B) \end{matrix}$

where log represents a logarithmic (log₁₀) function. A difficulty in applying equation (B) is that a value of λ(θ,t) is not known because a noisy value of λ(θ,t) is directly measured.

A first approach used to determined the projection datum p(θ, t) is to use an approximation λ(θ,t)≅λ(θ,t). If λ(θ,t) is large, the approximation is useful because a value of a signal within the electrical energy is large compared to the noises. However, when the patient being imaged is dense and/or large, the attenuation may be large, and the value of λ(θ,t) is small. When λ(θ,t) is small, λ(θ,t) may have a large percentage error and/or may be negative. The measurement λ(θ,t) may have a large percentage error and/or may be negative because the additive noise in one of the CT imaging systems becomes significant as compared to the photon counting noise. When λ(θ,t) is negative, the approximation of cannot be used because the logarithm of a negative number cannot be computed in equation B.

A second approach is to obtain a plurality of λ(θ,t)s and average the λ(θ,t)s. The noises in one of the λ(θ,t)s are generally independent of the noises in any of the remaining of the λ(θ,t)s and so by averaging the λ(θ,t)s, the expected value λ(θ,t) is obtained. However, the second approach has a number of disadvantages. A first one of the disadvantages is that the second approach uses a higher amount of time to obtain the λ(θ,t)s than a time used to obtain the measurement λ(θ,t) because λ(θ,t) is measured multiple times. A second of the disadvantages is that the second approach exposes the patient to harmful radiation when the λ(θ,t) is obtained multiple times. The harmful radiation may result in greater health risk to the patient and the health risk is undesirable.

A third approach is to smooth λ(θ,t) with neighboring values, such as λ(θ+1,t) or λ(θ,t+1), of λ(θ,t). The measurement λ(θ,t) and the neighboring values have nearly equal angles. The measurement λ(θ,t) and the neighboring values also have nearly equal displacements. A smoothing filter is applied to λ(θ,t) and the neighboring values to average λ(θ,t) and the neighboring values. The smoothing filter is applied to produce a smoothed version of the measurement λ(θ,t) and the smoothed version is denoted by {circumflex over (λ)}(θ,t). The projection datum p(θ,t) may be obtained by using an approximation λ(θ,t)≅{circumflex over (λ)}(θ,t). The smoothing filter can reduce the noises by averaging but it has flaws. A first one of the flaws is that the smoothing filter may not provide the smoothed version that is positive in value because a group of negative measurements may fall near each other. A second one of the flaws is that averaging λ(θ,t) with the neighboring values tends to blur a resolution of a reconstruction in regions, having high signal-to-noise measurements, that do not require averaging. A third one of the flaws is that a local mean value of a local region may not be preserved, which could lead to shading artifacts in the image.

A Floyd-Steinberg algorithm preserves the local mean value during filtering of the noises. The Floyd-Steinberg algorithm preserves the local mean value by applying binarization. A direct binary search algorithm also preserves the local mean value during filtering of the noises. However, the Floyd-Steinberg error diffusion algorithm and the direct binary search algorithm are generally used for digital halftoning in printing.

BRIEF DESCRIPTION OF THE INVENTION

In one aspect, a method for filtering a measurement of density of an object is described. The method includes filtering the measurement of the density and preserving a local average of the measurement and additional measurements when performing the filtering.

In another aspect, a filter for filtering a measurement of a density of an object scanned within a medical imaging system is described. The filter is configured to control an amount of smoothing based on a value of the measurement of the density, configured to output a positive value from the measurement, and configured to preserve a local average of the measurement and additional measurements by distributing an error at a pixel to at least one additional pixel adjacent to the pixel.

In yet another aspect, an imaging system is described. The imaging system includes a source configured to generate energy attenuated by an object, a detector configured to detect the attenuated energy received from the object and to generate a measurement from the attenuated energy, and a filter configured to compute an error from an estimated measurement and an actual measurement obtained by scanning the object with the source and the detector. The filter is further configured to distribute the error to a plurality of pixels and preserve a local average during the distribution of the error.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an isometric view of an embodiment of a computed tomography system in which a method for filtering a measurement of a density of an object is implemented.

FIG. 2 is a block diagram of an embodiment of the computer tomography system of FIG. 1.

FIG. 3 is a graphical representation of an embodiment of a projection line passing through the object.

FIG. 4 is a flowchart of an embodiment of the method for filtering a measurement of a density of the object.

FIG. 5 is a continuation of the flowchart of FIG. 4.

FIG. 6 is a block diagram showing an embodiment of error distribution implemented within the method for filtering a measurement of a density of the object.

FIG. 7 shows exemplary images illustrating effects of implementing the method for filtering a measurement of a density of the object.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIGS. 1 and 2, a computed tomography (CT) imaging system 10 is shown as including a gantry 22. CT system 10 is a “third generation” CT system. In an alternative embodiment, CT system 10 may be an energy integrating, a photon counting (PC), or a photon energy discriminating (ED) CT detector system. Gantry 22 has an x-ray source 12 that projects a beam of x-rays toward a detector array 18. The x-rays pass through an object 16, such as a patient, to generate attenuated x-rays. Object 16 lies along a z-axis. A height of object 16 is parallel to the z-axis. Detector array 18 is formed by a plurality of detector elements 20 which together sense the attenuated x-rays. A row of detector array 18 is located along an x-axis and a column of detector array 18 is located along a y-axis. In an alternative embodiment, each detector element 20 of detector array 18 may be a photon energy integrating detector, a photon counting, or a photon energy discriminating detector. Each detector element 20 produces an electrical signal that represents an intensity of the attenuated x-rays. During a scan to acquire projection data, gantry 22 and components mounted on gantry 22 rotate about a center of rotation 23.

Rotation of a gantry 22 and an operation of x-ray source 12 are governed by a control mechanism 24 of CT system 10. Control mechanism 24 includes an x-ray controller 26 that provides power and timing signals to x-ray source 12 and a gantry motor controller 28 that controls a rotational speed and position of gantry 22. A data acquisition system (DAS) 32 in control mechanism 24 samples and digitizes the projection data from detector elements 20 and converts the projection data to sampled and digitized projection data for subsequent processing. As shown in FIG. 3, each projection datum at a projection angle θ and a projection displacement t is expressed as $\begin{matrix} {{p\left( {\theta,t} \right)} = {\int_{- \infty}^{\infty}{{\mu\left( {{{{- z}\quad{\sin(\theta)}} + {t\quad{\cos(\theta)}}},{{z\quad{\cos(\theta)}} + {t\quad{\sin(\theta)}}}} \right)}\quad{\mathbb{d}z}}}} & (1) \end{matrix}$

where μ=μ(x,y), is a density of a cross-section of object 16, and specifies a rate at which photons from x-ray source 12 are absorbed by object 16, x represents a dimension along the x-axis, and y represents a dimension along the y-axis, and z represents a dimension along the z-axis. The projection data is obtained from a measurement of photons received by detector array 18 as the photons pass through object 16 along a line 33 of projection shown in FIG. 3. The measurement generated by detector element 20 at a projection view i and a channel j within detector array 18 is denoted by λ(i,j), where detector element 20 at a location (i,j) corresponds to the projection angle θ and the projection displacement t. The measurement λ(θ,t) is proportional to a number of photons detected by detector array 18 at the projection angle θ and the projection displacement t. In an alternative embodiment, the measurement is expressed in three-dimensions, where a third dimension is along a row of detector array 18.

Referring back to FIGS. 1 and 2, a pre-processor 35 receives sampled and digitized original projection data from DAS 32 to pre-process the sampled and digitized projection data. In one embodiment, pre-processing includes, but is not limited to, an offset correction, a primary speed correction, a reference channel correction, an air-calibration, and applying a method for filtering a measurement of a density of an object. A controller 36 located within pre-processor 35 applies a method for filtering a measurement of a density of an object on the sampled and digitized projection data. As used herein, the term controller is not limited to just those integrated circuits referred to in the art as a controller, but broadly refers to a processor, a microprocessor, a microcontroller, a programmable logic controller, an application specific integrated circuit, and another programmable circuit, and these terms are used interchangeably herein. Pre-processor 35 pre-processes the sampled and digitized projection data to generate pre-processed projection data.

An image reconstructor 34 receives the pre-processed projection data from pre-processor 35 and performs image reconstruction, such as, filtered backprojection (FBP), iterative maximum likelihood expectation maximization (ML-EM), maximum a posteriori iterative coordinative descent (MAP-ICD), or algebraic reconstruction technique (ART), to generate a reconstructed image. The reconstructed image is applied as an input to a computer 64 which stores the reconstructed image in a mass storage device 38. As used herein, the term computer is not limited to just those integrated circuits referred to in the art as a computer, but broadly refers to a processor, a microcontroller, a programmable logic controller, an application specific integrated circuit, and another programmable circuit, and these terms are used interchangeably herein. X-ray controller 26 adjusts a tube current within x-ray source 12 based on a quality of the reconstructed image.

Computer 64 also receives commands and scanning parameters from a user, such as an operator, via a console 40 that has a user interface device. A cathode ray tube display 42 allows a user, such as an operator, to observe the reconstructed image and other data from computer 64. The commands and scanning parameters are used by computer 64 to provide control signals and information to DAS 32, x-ray controller 26, and gantry motor controller 28. In addition, computer 64 operates a table motor controller 46 which controls a motorized table 48 to position object 16 within gantry 22. Particularly, table motor controller 46 adjusts table 48 to move portions of object 16 and center object 16 in a gantry opening 49.

In an alternative embodiment, a high frequency electromagnetic energy projection source configured to project high frequency electromagnetic energy toward object 16 may be used instead of x-ray source 12. A detector array disposed within a gantry and configured to detect the high frequency electromagnetic energy may also be used instead of detector array 18.

Also as used herein, reconstruction of an image is not intended to exclude embodiments of the systems and methods for filtering a measurement of a density of an object in which data representing an image is generated but a viewable image is not. Many embodiments of the systems and methods for filtering a measurement of a density of an object generate or are configured to generate at least one viewable image.

FIGS. 4 and 5 are a flowchart of an embodiment of a method for filtering a measurement of a density of object 16. Controller 36 computes an input array with a pixel y(i,j) at a position (i,j) in the input array. In the position (i,j), i is along a channel of detector array 18 and j is along a row of detector array 18. The pixel y(i,j) represents detector element 20 in detector array 18. For example, a pixel y(1,3) represents detector element 20 at a Cartesian co-ordinate position (1,3) in detector array 18. The pixel y(i,j) is computed from the measurement λ(i,j) and additional pixels at other positions of the input array are calculated from additional measurements, similar to λ(i,j). Controller 36 computes the input array by initializing y(i,j) to be equal to λ(i,j) and initializing the additional pixels to the additional measurements. Controller 36 computes the input array by assigning λ(i,j) to y(i,j) and assigning the additional measurements to the additional pixels. For example, controller 36 assigns λ(1,2) to y(1,2). As another example, controller 36 assigns λ(3,1) to y(3,1).

Controller 36 computes a function f(y) from y(i,j) for one value of (i,j). An example of the function f(y) is a non-linear function that yields a positive value for any y(i,j). Another example of the function f(y) is f(y)=σ log(exp(y/σ)+1)  (2)

where σ is a parameter that can be adjusted manually or alternatively by controller 36 for optimizing filtering of the measurement λ(i,j). By applying equation (2), positive pixel values of y(i,j) are computed. Moreover, by applying equation (2), regions of λ(i,j) with a high signal-to-noise ratio are not substantially changed. Two-dimensional filtering, such as described by equation (2), is applied to any combination of two of a projection view, a channel, and a row of detector array 18. For example, equation (2) is applied first to a projection view A and a channel A of detector array 18, and second to a channel B and a row C of detector array 18. As another example, equation (2) is applied first to a channel A and a row C of detector array 18, second to a projection view B and a channel D of detector array 18, and third to a projection view C and a row B of detector array 18. Alternatively, three-dimensional filtering, such as described by equation (2), is applied at the same time to a projection view, a channel, and a row of detector array 18. For example, the three-dimensional filtering is applied to a projection view A, a row B, and a channel C of detector array 18.

A set of weights, w₁, w₂, w₃, and w₄ are input into controller 36 via console 40. An example of the weight w₁ is 7/16, of the weight w₂ is 1/16, of the weight w₃ is 5/16, and of the weight w₄ is 3/16. In an alternative embodiment, w₁ equals w₂, w₂ equals w₃, and w₃ equals w₄. The weights are normalized when a sum of the weights in the set is set equal to one. In an alternative embodiment, the sum of the weights is manually input via console 40 into controller 36 and controller 36 determines the weights from the sum. A local average of a value of the pixel y(i,j) and a plurality of neighboring pixels, such as pixels adjacent to the pixel y(i,j), of the input array is preserved by normalizing the weights.

Controller 36 calculates an error E from a difference between the function f(y) and the pixel y(i,j). The error E is represented as E=f(y(i,j))−y(i,j)  (3)

Controller 36 distributes a negative value of a multiplication of one of the weights and the error E to pixels not yet visited in the input array. As an example shown in FIG. 6, a value of y(i,j+1)−w₁E is assigned to y(i,j+1), a value of y(i+1,j+1)−w₂E is assigned to y(i+1,j+1), a value of y(i+1,j)−w₃E is assigned to y(i+1,j), and a value of y(i+1,j−1)−w₄E is assigned to y(i+1,j−1). As another example, a value of y(i,j−1)−w₁E is assigned to y(i,j−1), a value of y(i+1,j−1)−w₂E is assigned to y(i+1,j−1), a value of y(i+1,j)−w₃E is assigned to y(i+1,j), and a value of y(i+1,j+1)−w₄E is assigned to y(i+1,j+1). The pixels not yet visited are located at positions in the input array at which the error E is not computed when controller 36 distributes the negative value to the pixels not yet visited. In one embodiment, the pixels not yet visited are adjacent to the pixel y(i,j). After the negative value is distributed, a local average of a value of the pixel y(i,j) and the pixels not yet visited to which the negative value is distributed is preserved. As an example, the local average is the same before and after the negative value is distributed. As another example, the local average matches a local average of the measurement λ(i,j) and other measurements, such as λ(i,j+1), whose values are initially assigned by controller 36 to the pixels not yet visited.

In an alternative embodiment, a different number of weights than four weights w₁, w₂, w₃, and w₄ are input into controller 36 via console 40. For example, in addition to the distribution shown in FIG. 6, a value of y(i+2,j−1)−w₅E is assigned to y(i+2,j−1), where a sum of weights w₁, w₂, w₃, w₄, and w₅ equals one. As another example, all distributions exemplified by FIG. 6 are made except that no distribution is made to y(i+1,j), where a sum of weights w₁, w₂, and w₄ equals one.

Referring back to FIGS. 4 and 5, controller 36 selects a pixel in the input array other than the pixel y(i,j) in an order, such as, a serpentine or a raster order, following the pixel y(i,j), applies 86, 90, and 94 on the selected pixel, and continues 98 to apply 86, 90, and 94 until all pixels in the input array are processed in the order. After all pixels in the input array are processed by distributing the negative value, the pixels have filtered values that are positive. There is an insubstantial change, such as within 5%, in positive values of pixels in the input array before and after all the pixels in the input array are processed by distributing the negative value. For example, if a positive value of the pixel y(i,j) is b unit before all the pixels in the array are processed by distributing the negative value, a value of the pixel is (b+5%) unit after all the pixels are processed. One of the filtered values at position (i,j) is represented as y_(fil)(i,j).

In an alternative embodiment, controller 36 iteratively computes 102 at least one iterative value from the filtered value y_(fil)(i,j) by applying an equation represented as $\begin{matrix} {{\hat{y}\left( {i,j} \right)} = {\arg\quad{\min\limits_{y_{fil} > 0}\begin{Bmatrix} \begin{matrix} {{\sum\limits_{i,j}\left( {{\lambda\left( {i,j} \right)} - {y_{fil}\left( {i,j} \right)}} \right)^{2}} +} \\ {\gamma{\sum\limits_{{({i,\quad j})}\quad \neq \quad{({k,\quad l})}}{b_{\quad{{i\quad - \quad k},\quad{j\quad - \quad l}}}\left( {{f_{\quad 1}\left( {y_{fil}\left( {k,l} \right)} \right)} -} \right.}}} \end{matrix} \\ \left. {f_{2}\left( {y_{fil}\left( {i,j} \right)} \right)} \right)^{2} \end{Bmatrix}}}} & (4) \end{matrix}$

where y_(fil)(k,l) is obtained by controller 36 at a position (k,l) in the input array in a similar manner as y_(fil)(i,j) is obtained, (k,l) is a position different than (i,j), f₁ is a non-linear function, such as a logarithmic (log₁₀) function, f₂ is a non-linear function, such as a logarithmic (log₁₀) function, ${{\sum\limits_{{({i,j})} \neq {({k,l})}}b_{{i - k},{j - 1}}} = 1},$ and γ is a constant. Controller 36 iteratively computes 102 by calculating ŷ(i,j) and then substituting ŷ(i,j) for y_(fil)(i,j) in equation (4). The user can select via console 40 a number of iterations to be performed by controller 36 in applying equation (4).

In another alternative embodiment, controller 36 controls the constant γ to control an amount of smoothing of y_(fil)(i,j) in equation (4). For example, if γ is larger than a pre-determined threshold input via console 40, controller 36 performs a small amount of smoothing by applying equation (4). The small amount of smoothing is smaller than an amount of smoothing performed by applying equation (4) if γ is larger than the pre-determined threshold. Optionally, the user operating console 40 directly inputs γ to control an amount of smoothing performed by applying equation (4). Controller 36 or alternatively the user reduces an amount of smoothing performed by applying equation (4) as a value of the measurement λ(i,j) increases. For example, when the measurement λ(i,j) increases beyond a first pre-determined point input into console 40, controller 36 or alternatively the user decreases γ to a first value. When the measurement λ(i,j) increases beyond a second pre-determined point input into console 40, controller 36 or alternatively the user further decreases γ to a second value lower than the first value. The second pre-determined point is greater than the first pre-determined point. Similarly, controller 36 or alternatively the user increases an amount of smoothing performed by applying equation (4) as a value of the measurement λ(i,j) decreases. For example, when the measurement λ(i,j) decreases beyond the second pre-determined point input into console 40, controller 36 or alternatively the user increases γ the second value. When the measurement λ(i,j) decreases beyond the first pre-determined point, controller 36 or alternatively the user further increases γ to the first value.

Controller 36 updates 106 a value of a neighboring pixel in the input array at a position (m,n) by applying an equation represented as $\begin{matrix} {{\hat{y}\left( {m,n} \right)} = {\arg\quad{\min\limits_{{y_{fil}{({m,n})}} > 0}\begin{Bmatrix} \begin{matrix} {{\sum\limits_{i,j}\left( {{\lambda\left( {m,n} \right)} - {y_{fil}\left( {m,n} \right)}} \right)^{2}} +} \\ {\gamma{\sum\limits_{{({i,\quad j})}\quad \neq \quad{({m,\quad n})}}{b_{\quad{{i\quad - \quad m},\quad{j\quad - \quad n}}}\left( {{f_{\quad 3}\left( {y_{fil}\left( {m,n} \right)} \right)} -} \right.}}} \end{matrix} \\ \left. {f_{4}\left( {y_{fil}\left( {i,j} \right)} \right)} \right)^{2} \end{Bmatrix}}}} & (5) \end{matrix}$

where ${{\sum\limits_{{({i,\quad j})}\quad \neq \quad{({m,\quad n})}}b_{\quad{{i\quad - \quad m},\quad{j\quad - \quad n}}}} = 1},{\lambda\left( {m,n} \right)}$ is obtained by controller 36 at position (m,n) in the input array in a similar manner as λ(i,j) is obtained by controller 36 at position (i,j), y_(fil)(m,n) is obtained in a similar manner at the position (m,n) as y_(fil)(i,j) is obtained at the position (i,j), f₃ is a non-linear function, such as a logarithmic (log₁₀) function, f₄ is a non-linear function, such as a logarithmic (log₁₀) function, and (m,n) is a position in the input array different from the position (i,j). In one embodiment, controller 36 continues to update pixels in the input array that are not updated by applying equation (5) and updates the pixels once. Once pixels in the input array that are not updated are updated once, controller 36 can update the pixels for a second time or more times as input by the user via console 40. When pixels in the input array that are not updated are updated by applying equation (5), the pixels are updated in a sequential order. For example, immediately after y(m,n) is updated by applying equation (5), y(m+1,n) is updated by applying an equation (6) generated by substituting y(m+1,n) instead of y(m,n) in equation (5) and substituting y(m,n) instead of y(i,j) in equation (5). Equation (6) is represented as $\begin{matrix} {{\hat{y}\left( {{m + 1},n} \right)} = {\arg\quad{\min\limits_{{y_{fil}{({{m + 1},n})}} > 0}\begin{Bmatrix} \begin{matrix} {{{\sum\limits_{m,\quad n}\left( {{\lambda\left( {{m + 1},n} \right)}\quad - \quad{y_{fil}\left( {{m + 1},n} \right)}} \right)^{2}} +}\quad} \\ {\gamma\quad{\sum\limits_{{({{m + 1},n})} \neq {({m,n})}}{b_{{m - {({m + 1})}},{n - n}}\left( {{f_{\quad 3}\left( {y_{fil}\left( {{m + 1},n} \right)} \right)} -}\quad \right.}}} \end{matrix} \\ \left( {f_{4}\left( {\hat{y}\left( {m,n} \right)} \right)} \right)^{2} \end{Bmatrix}}}} & (6) \end{matrix}$

where ${{\sum\limits_{{({{m + 1},n})} \neq {({m,n})}}b_{{m - {({m + 1})}},{n - n}}} = 1},{\lambda\left( {{m + 1},n} \right)}$ is obtained by controller 36 at a position (m+1,n) in the input array in a similar manner as λ(i,j) is obtained at position (i,j), and y_(fil)(m+1,n) is obtained by controller 36 at the position (m+1,n) in a similar manner as y_(fil)(i,j) is obtained at the position (i,j). As another example, immediately after y(m,n) is updated by applying equation (5), y(m,n+1) is updated by applying an equation (7) generated by substituting y(m,n+1) instead of y(m,n) in equation (5) and substituting y(m,n) instead of y(i,j) in equation (5). Equation (7) is represented as $\begin{matrix} {{\hat{y}\left( {m,{n + 1}} \right)} = {\arg\quad{\min\limits_{{y_{fil}{({m,{n + 1}})}} > 0}\begin{Bmatrix} {{\sum\limits_{i,\quad j}\left( {{\lambda\left( {m,{n + 1}} \right)}\quad - \quad{y_{fil}\left( {m,{n + 1}} \right)}} \right)^{2}} +} \\ {\gamma\quad{\sum\limits_{{({m,{n + 1}})} \neq {({m,n})}}{b_{{m - m},{n - {({n + 1})}}}\left( {{f_{\quad 3}\left( {y_{fil}\left( {m,{n + 1}} \right)} \right)} -} \right.}}} \\ \left. {f_{4}\left( {\hat{y}\left( {m,n} \right)} \right)} \right)^{2} \end{Bmatrix}}}} & (7) \end{matrix}$

where ${{\sum\limits_{{({m,{n + 1}})} \neq {({m,n})}}b_{{m - m},{n - {({n + 1})}}}} = 1},{\lambda\left( {m,{n + 1}} \right)}$ is obtained by controller 36 at position (m,n+1) in the input array in a similar manner as λ(i,j) is obtained at position (i,j), and y_(fil)(m,n+1) is obtained by controller 36 at the position (m,n+1) in a similar manner as y_(fil)(i,j) is obtained at the position (i,j).

Each time a pixel is updated in the input array, the neighboring pixels, such as pixels adjacent to the pixel, are affected by the term f₃(y_(fil)(m,n))−f₄(y_(fil)(i,j)) in equation (5), term (f₃(y_(fil)(m+1,n))−f₄(ŷ(m,n))) in equation 6, and term (f₃(y_(fil)(m,n+1))−f₄(ŷ(m,n))) in equation 7.

By applying equations (5) and (6), a difference between an actual measurement λ(m,n) and an estimated measurement y_(fil)(m,n) is propagated to a neighboring pixel y_(fil)(m+1,n) and the difference is propagated to match a local average of the measurement λ(i,j) and additional measurements, such as λ(i+1,j), with a local average of y(i,j) and additional pixels, such as y(i+1,j), obtained from the additional measurements. Similarly, by applying equations (5) and (7), a difference between an actual measurement λ(m,n) and an estimated measurement y_(fil)(m,n) is propagated to a neighboring pixel y_(fil)(m,n+1) and the difference is propagated to match a local average of λ(i,j) and additional measurements, such as λ(i+1,j), with a local average of y(i,j) and additional pixels, such as y(i+1,j), obtained from the additional measurements. It is noted that in an alternative embodiment, controller 36 may not iteratively compute 102. In another alternative embodiment, controller 36 may not control the constant γ to control an amount of smoothing of y_(fil)(i,j) in equation (4).

Controller 36 provides a filtered projection datum from one of y_(fil)(i,j), ŷ(i,j), and ŷ(m,n) by applying an equation (8) represented as $\begin{matrix} {{p_{fil}\left( {\theta,t} \right)} = {- {f_{5}\left( \frac{s\left( {\theta,t} \right)}{\lambda_{T}} \right)}}} & (8) \end{matrix}$

where f₅ is a non-linear function, such as a logarithmic (log₁₀) function, s(θ,t) is one of y_(fil)(i,j), ŷ(i,j), and ŷ(m,n), λ_(T) is a number of photons from x-ray source 12 impinging on object 16. In an alternative embodiment, λ_(T) is a constant. When f₅ is a logarithmic function, a negative of f₅ is a negative logarithmic operation.

The filtered projection datum and other filtered projection data, such as p_(fil)(θ+2^(o),t+1), similar to the filtered projection datum, are provided by controller 36 to image reconstructor 34 to reconstruct an image. Image reconstructor 34 receives the filtered projection datum and the other filtered projection data, applies a reconstruction method, such as FBP, ART, iterative ML-EM, or MAP-ICD, to reconstruct an image. In an alternative embodiment, a method, described in 82, 86, 90, 94, 98, 102, and 106, for filtering a measurement of a density of an object is applied to the sampled and digitized projection data at a time at which an image is being reconstructed by image reconstructor 34 from the filtered projection datum and the other filtered projection data.

FIG. 7 shows exemplary images before and after applying the methods and systems for filtering a measurement of a density of an object. Image 122 is reconstructed by applying FBP and without applying the methods and systems for filtering a measurement of a density of an object. Bias is visible in image 122. Shading artifacts along projection lines of strong attenuation are visible in image 122. Image 124 is reconstructed by applying iterative-based reconstruction, such as iterative ML-EM or MAP-ICD. Image 124 is reconstructed without applying the methods and systems for filtering a measurement of a density of an object. The bias or the shading artifacts are also visible in image 124. Image 126 is reconstructed by applying the methods and systems for filtering a measurement of a density of an object. The bias or the shading artifacts are less visible in image 126 than in images 122 and 124.

It is noted that in an alternative embodiment, systems and methods for filtering a measurement of a density of an object can be applied to the measurement λ(i,j) that can be expressed in three-dimensions. When systems and methods for filtering a measurement of a density of an object are applied to the measurement λ(i,j) that can be expressed in three-dimensions, detector elements along a row of the detector array 18 are filtered, for instance, in a particular order, in addition to filtering detector elements 20 along i and j. For example, a negative value of a multiplication of one of the weights and an error, calculated in a similar manner as the error E, is assigned to detector elements along a row of detector array 18 in addition to detector elements 20 along i and j. It is also noted that λ(i,j) is an actual measurement and the function f(y) of equation (2) is an estimated measurement.

Technical effects of the systems and methods for filtering a measurement of a density of an object include correcting the shading artifacts along projection lines of strong attenuation by preserving a local average of the measurement λ(i,j) and additional measurements. Other technical effects of the systems and methods for filtering a measurement of a density of an object include outputting positive pixel values by applying a nonlinear equation, such as equation (2). Further technical effects of the systems and methods for filtering a measurement of a density of an object include controlling an amount of smoothing based on an attenuation by object 16.

While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims. 

1. A method for filtering a measurement of density of an object, said method comprising: filtering the measurement of the density; and preserving a local average of the measurement and additional measurements when performing said filtering.
 2. A method in accordance with claim 1 further comprising: generating a filtered value by filtering the measurement; and outputting a positive value by generating the filtered value.
 3. A method in accordance with claim 1 wherein the measurement is proportional to a number of photons detected at an angle within a detector array and a displacement within the detector array.
 4. A method in accordance with claim 1 further comprising: generating a filtered value by filtering the measurement; iteratively generating at least one additional filtered value from the filtered value; controlling an amount of smoothing during said iteratively generating of the at least one additional filtered value.
 5. A method in accordance with claim 1 further comprising: generating a filtered value by filtering the measurement; iteratively generating at least one additional filtered value from the filtered value; increasing, during said interatively generating, an amount of smoothing with a decrease in a value of the measurement; and decreasing, during said interatively generating, an amount of smoothing with an increase in the value of the measurement.
 6. A method in accordance with claim 1 wherein the measurement is one of an n-dimensional measurement, wherein n is an integer greater than one.
 7. A filter for filtering a measurement of a density of an object scanned within a medical imaging system, said filter configured to control an amount of smoothing based on a value of the measurement of the density, configured to output a positive value from the measurement, and configured to preserve a local average of the measurement and additional measurements by distributing an error at a pixel to at least one additional pixel adjacent to the pixel.
 8. A filter in accordance with claim 7, said filter configured to generate a filtered value by filtering the measurement, and the filtered value is the positive value.
 9. A filter in accordance with claim 7, wherein said filter configured to generate a filtered value from the measurement, to iteratively generate at least one additional filtered value from the filtered value, and to control the amount of smoothing by increasing, during the iterative generation, the amount of smoothing with a decrease in a value of the measurement.
 10. A filter in accordance with claim 7 wherein the measurement is an n-dimensional measurement, wherein n is an integer greater than one.
 11. A filter in accordance with claim 7 wherein the measurement is proportional to a number of photons detected at an angle within a detector array and a displacement within the detector array.
 12. A filter in accordance with claim 7, said filter configured to generate a filtered value by filtering the measurement; iteratively generate at least one additional filtered value from the filtered value; increase, during the iterative generation, an amount of smoothing with a decrease in a value of the measurement; and decrease, during the iterative generation, an amount of smoothing with an increase in the value of the measurement.
 13. An imaging system comprising: a source configured to generate energy attenuated by an object; a detector configured to detect the attenuated energy received from the object and to generate a measurement from the attenuated energy; and a filter configured to: compute an error from an estimated measurement and an actual measurement obtained by scanning the object with said source and said detector; distribute the error to a plurality of pixels; and preserve a local average during the distribution of the error.
 14. An imaging system in accordance with claim 13, wherein the actual measurement is an n-dimensional measurement and the estimated measurement is a function of the actual measurement, and n is an integer.
 15. An imaging system in accordance with claim 13, wherein a positive value of one of the pixels is insubstantially changed upon processing the pixels.
 16. An imaging system in accordance with claim 13, wherein at least one of the pixels are not processed during the distribution.
 17. An imaging system in accordance with claim 13, wherein said filter is configured to control an amount of smoothing based on a value of the actual measurement of the density of the object.
 18. An imaging system in accordance with claim 13, wherein said filter is configured to generate a filtered value by filtering the actual measurement, and output a positive value by generating the filtered value.
 19. An imaging system in accordance with claim 13, wherein said filter is configured to generate a filtered value from the estimated measurement, to iteratively generate at least one additional filtered value from the filtered value, to increase, during the iterative generation, an amount of smoothing with a decrease in a value of the actual measurement, and to decrease, during the iterative generation, an amount of smoothing with an increase in the value of the actual measurement.
 20. An imaging system in accordance with claim 13, wherein a plurality of weights with which the error is distributed are normalized. 